/*
 * @Author: Jimmy
 * @LastModifiedBy: Jimmy
 * @Date: 2024-02-24 10:26:41
 * @LastEditTime: 2024-06-30 12:28:11
 * @FilePath: /nest_study/web/src/components/icon_svg/index.tsx
 */
import style from './index.module.scss';

export type IIconSvgProps = {
    name: string;
    prefix?: string;
    size?: string | number;
    color?: string;
    tag?: string
    [x: string]: any;
}
/**
 * @Svg组件
 * @props  name 图标名称--文件名称
 * @props  prefix 前缀 默认icon
 * @props  size  图标大小
 * @props  color   图标颜色
 */

export default function IconSvg({ name, prefix = 'icon', size = 20, color = '#666', ...props }: IIconSvgProps) {
    const symbolId = `#${prefix}-${name}`;
    return (
        <svg aria-hidden='true' width={size} height={size} fill={color}  {...props} className={`${style.svgIcon}`}>
            <use href={symbolId} />
        </svg>
    );
}